package Expertos;


import Controladores.exceptions.NonexistentEntityException;
import Entidades.Ciu;
import Entidades.Condicion;
import Entidades.Detallerecepcion;
import Entidades.Estadoespera;
import Entidades.Operario;
import Entidades.Producto;
import Entidades.Transporte;
import java.util.ArrayList;
import java.util.List;
import logica.jpaControllers.CiuJpaController;
import logica.jpaControllers.CondicionJpaController;
import logica.jpaControllers.DetallerecepcionJpaController;
import logica.jpaControllers.EstadoesperaJpaController;
import logica.jpaControllers.OperarioJpaController;
import logica.jpaControllers.ProductoJpaController;
import logica.jpaControllers.TransporteJpaController;

public class ExpertoPedido {

    public ExpertoPedido() {
    }
 DetallerecepcionJpaController detalleRJpa = new DetallerecepcionJpaController();
    public void actualizarDetalleRecepcion(Detallerecepcion t) throws NonexistentEntityException, Exception {
       
        detalleRJpa.edit(t);
    }

//    public void actualizarDetalleRecepcion(Estadoespera t) {
//         TransporteJpaController transportejpa= new TransporteJpaController();
//        transporte.;
//    }

//   public void actualizarTransporte(Transporte t) throws logica.jpaControllers.exceptions.NonexistentEntityException, Exception {
//        TransporteJpaController transportejpa= new TransporteJpaController();
//
//        transportejpa.edit(t);
//    }

//    public List<Detallerecepcion> buscarDetalleRecepcion() {
//       List<Detallerecepcion> detalleR = new ArrayList<Detallerecepcion>();
//       detalleR= detalleRJpa.findDetallerecepcionEntities();
//        return detalleR;
//    }

    public List<Estadoespera> buscarEstadoEspera() {
        
        EstadoesperaJpaController p2 = new EstadoesperaJpaController();
        return p2.findEstadoesperaEntities();
    }

//    public List<Proveedor> buscarProveedores() {
//        Iterator it = null;
//        List<Proveedor> p= new ArrayList<Proveedor>();
//        ProveedorJpaController prov = new  ProveedorJpaController();
//         p= prov.findProveedorEntities();
//        return p;
//    }

//    public Iterator buscarProveedoresCondicion(String estado) {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarProveedoresCondicion(estado);
//        return it;
//    }

    public List<Transporte> buscarTransportes() {
        TransporteJpaController transporteJpa=new TransporteJpaController();
        return transporteJpa.findTransporteEntities();
    }

//    public Iterator buscarTransportistas() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarTransportistas();
//        return it;
//    }

    public List<Producto> buscarProductos() {
        List<Producto> prod= new ArrayList<Producto>();
        ProductoJpaController prodJpa= new ProductoJpaController();
         
        return prodJpa.findProductoEntities();
    }

//    public Iterator buscarRemitos() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarRemitos();
//        return it;
//    }
//
    public void guardarCondicion(Condicion c) {
        CondicionJpaController cond= new CondicionJpaController();
        cond.create(c);
        

    }

    public void guardarCiu(Ciu c) {
        CiuJpaController ciu= new CiuJpaController();
        ciu.create(c);
       
    }

//    public void guardarPesaje(Pesaje p) {
//        Persistencia pp = new Persistencia();
//        pp.guardarPesaje(p);
//    }
//
//    public Remito guardarRemito(Remito remito) {
//        Persistencia p = new Persistencia();
//        Remito r = new Remito();
//        r = p.guardarRemito(remito);
//        return r;
//    }
//
//    public void guardarDetalleRemito(Detalleremito detalle) {
//        Persistencia p = new Persistencia();
//        p.guardarDetalleRemito(detalle);
//    }
//
//    public Recepcion guardarRecepcion(Recepcion recepcion) {
//        Persistencia p = new Persistencia();
//        Recepcion r = new Recepcion();
//        r = p.guardarRecepcion(recepcion);
//        return r;
//    }
//
//    public void actualizarTara(Transporte transporte) {
//        Persistencia p = new Persistencia();
//        p.actualizarTara(transporte);
//    }
//
//    public Detallerecepcion guardarDetalleRecepcion(Detallerecepcion detalle) {
//        Persistencia p = new Persistencia();
//        Detallerecepcion d = new Detallerecepcion();
//        p.guardarDetalleRecepcion(detalle);
//        return d;
//    }
//
//    public Transporte buscarTransporte(String patente) {
//        Persistencia p = new Persistencia();
//        Transporte t = new Transporte();
//        t = p.buscarTransporte(patente);
//        return t;
//    }

//    public Proveedor buscarProveedor(String cuitProveedor) {
//        Persistencia p = new Persistencia();
//        Proveedor t = new Proveedor();
//        t = p.buscarProveedor(cuitProveedor);
//        return t;
//    }
//
//    public Iterator buscarPesajePendientes() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        System.out.println("el valor es1 en el experto");
//        it = p2.buscarPesajePendientes();
//        System.out.println("el valor es2 en el experto");
//        return it;
//    }
//
//    public void actualizarContrato(Contrato contrato) {
//        Persistencia p = new Persistencia();
//        p.actualizarContrato(contrato);
//    }
//
//    /*   public Iterator buscarContrato(Integer idProveedor){
//    Iterator it = null;
//    Iterator it2 = null;
//    Iterator retorno = null;
//    List l2 = null;
//    List l3 = null;
//    Persistencia p2 = new Persistencia();
//    it = p2.buscarContratos();
//    int i = 0;
//    int j = 0;
//    Contrato c = null;
//    while (it.hasNext()) {
//    // if(jTable1.getRowCount() != 0){
//
//    try{
//    j = 0;
//    c = (Contrato)it.next();
//    if(c.getProveedor().getIdProveedor().equals(idProveedor)){
//    it2 = this.buscarDetalleContratoPendientes();
//    Detallecontrato det = new Detallecontrato();
//    // System.out.println("lista" +l2.size());
//    /* while(!(2.isEmpty())){
//    det = (Detallecontrato)it.next();
//    if(det.getContrato().getNumeroContrato().equals(c.getNumeroContrato())){
//    l3.add(det);
//
//    }
//    }
//    }
//    System.out.println("el iterador es"+c.getIdProveedor());
//
//    i++;
//    }catch(java.lang.ArrayIndexOutOfBoundsException ex){
//    }
//    }
//    return it2;
//    }
//
//
//
//    public Iterator buscarDetalleContratoPendientes(){
//    Iterator it = null;
//    Iterator it2 = null;
//    List l1=null;
//    Persistencia p2 = new Persistencia();
//    it = p2.buscarDetalleContratoPendientes();
//    Detallecontrato c = (Detallecontrato)it.next();
//    while(it.hasNext()){
//    c = (Detallecontrato)it.next();
//    if(c.getPendiente() == 1){
//    // l1.add(c);
//    it2 = l1.iterator();
//    System.out.println("Método detalle" +l1.size());
//
//    }
//    }
//
//    return it;
//    }*/
//    public Iterator buscarContratosPendientes(String estado) {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        int s = 0;
//        float a = 0;
//        it = p2.buscarContratosPendientes(estado);
//
//        //  System.out.println(p2.buscarPagosPendientes(estado));
//        return it;
//    }
//
//    public Iterator buscarTransporte() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarTransporte();
//
//        return it;
//    }
//
//    public Iterator buscarContratos() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarContratos();
//
//        return it;
//    }

    /* public Iterator buscarContratosPendientes(String estado){
    Iterator it = null;
    Persistencia p2 = new Persistencia();
    int s = 0;
    float a = 0;
    it = p2.buscarContratosPendientes(estado);
    
    //  System.out.println(p2.buscarPagosPendientes(estado));
    return it;
    }*/
    public List<Operario> buscarPersona() {
     OperarioJpaController operarioJpa= new OperarioJpaController();
        return operarioJpa.findOperarioEntities();
    }

   public Estadoespera buscarEstadoEspera(String string) {
        EstadoesperaJpaController estadoE= new EstadoesperaJpaController();
        return  estadoE.findEstadoespera_x_nombre(string);
    }

//    public List<Producto> buscarProductos(String variedad, String clasificacion) {
// ProductoJpaController prodJpa= new ProductoJpaController();
     //   return prodJpa.findXVariedadClasificacion(variedad,clasificacion);
  //  }

//    public Iterator buscarRol() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        System.out.println("el valor es1");
//        it = p2.buscarRol();
//        System.out.println("el valor es2");
//        return it;
//    }

    /* public Iterator buscarContratos(){
    Iterator it = null;
    Persistencia p2 = new Persistencia();
    System.out.println("el valor es1");
    it = p2.buscarContratos();
    System.out.println("el valor es2");
    return it;
    }*/
//    public boolean guardarContrato(Date fechacontrato, Persona persona, Proveedor proveed, String estado) {
//        boolean flag = true;
//        Persistencia inver = new Persistencia();
//        flag = inver.guardarContrato(fechacontrato, persona, proveed, estado);
//        return flag;
//    }
//
//    public boolean guardarDetalleContrato(int cantidad, float precio, Contrato contrato, String estado, Producto producto, int cuartel) {
//        boolean flag = true;
//        Persistencia inver = new Persistencia();
//        flag = inver.guardarDetalleContrato(cantidad, precio, contrato, estado, producto, cuartel);
//        return flag;
//    }
//
//    public Iterator buscarTransporteTransportista() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarTransporteTransportista();
//
//        return it;
//    }
//
//    public Iterator buscarDetalleRemitos() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarDetalleRemitos();
//
//        return it;
//    }
//
//    public Iterator buscarRecepcion() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarRecepcion();
//
//        return it;
//    }
//
//    /*  public Iterator buscarPesajePendientes() {
//    Iterator it = null;
//    Persistencia p2 = new Persistencia();
//    System.out.println("el valor es1 en el experto");
//    it = p2.buscarPesajePendientes();
//    System.out.println("el valor es2 en el experto");
//    return it;
//    }*/
//    public boolean guardarPesaje(Date fechaHoraPesajeEntrada, float pesoBruto, float pesoNeto, float tara, Persona persona, Date fechaHoraPesajeSalida, Detallerecepcion idDetalleRecepcion, int pesajeAutomaticoEntrada, int pesajeAutomaticoSalida) {
//        boolean flag = true;
//        Persistencia inver = new Persistencia();
//        flag = inver.guardarPesaje(fechaHoraPesajeEntrada, pesoBruto, pesoNeto, tara, persona, fechaHoraPesajeSalida, idDetalleRecepcion, pesajeAutomaticoEntrada, pesajeAutomaticoSalida);
//        return flag;
//    }
//
//    public void actualizarPesaje(Pesaje pesaje) {
//        Persistencia p = new Persistencia();
//        p.actualizarPesaje(pesaje);
//    }
//
//    public Iterator buscarPesaje() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarPesaje();
//        return it;
//    }
//
//    public Iterator buscarDetalleContrato() {
//        Iterator it = null;
//        Persistencia p2 = new Persistencia();
//        it = p2.buscarDetalleContrato();
//        return it;
//    }
//
//    public void actualizarDetalleContrato(Detallecontrato detcontrato) {
//        Persistencia p = new Persistencia();
//        p.actualizarDetalleContrato(detcontrato);
//    }
}


